home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / comm / irc / cybershiela.lha / cybershiela.amirx next >
Text File  |  1999-10-10  |  26KB  |  1,223 lines

  1. /*
  2. $VER CyberShiela - V1.0 (26.09.1999)
  3. CyberShiela - The Bot Script From Hell  version .8
  4. Zonkerz Annoy The Shit out of the Channel Bot Script
  5.     June 1999 
  6. HAVE FUN!!!
  7.    by Zonkerz
  8.    #AmIRC Undernet - http://members.tripod.com/amirc
  9.    #StarCafe Undernet - http://www.starcafe.org
  10.  
  11. *****NOTICE******
  12. THIS SCRIPT IS ONLY FOR ADULTS AND USE IN AN ADULT ENVIRONMENT
  13. USE AT YOUR OWN RISK!!!!
  14. *****************
  15.  
  16. message your self a !BOTQUIT to end the program
  17.  
  18.  
  19. If you make new Personality Files, Please feel free to send them my way :)
  20. admin@starcafe.org
  21. I'll put any and all on my website available for download
  22.  
  23. my amirx/cnet pfile website is http://pages.cthome.net/amiga
  24.  
  25. */
  26.  
  27. 'echo p=CShiela --Loading CyberShiela Systems--v1.0'
  28. Options Results  
  29. signal on syntax 
  30. script='ShielaBot'  
  31. colour=5;avoice=0;ag=0;tr=0;rev=0;revlist=""
  32. loadbarconfig:
  33. getprogdir
  34. dir=result
  35. config=dir||"/rexx/cscfg/cybershiela.cfg"
  36. masters=dir||"/rexx/cscfg/cybershiela.mst"
  37. adfile=dir||"/rexx/cscfg/roomad.cfg"
  38. fscfg=dir||"/rexx/cscfg/fileserv.cfg"
  39. seencfg=dir||"/rexx/cscfg/seen.cfg"
  40. kk=1
  41. if ~exists(config) then do;'echo c=3 p=CShiela Config File not Found - Program Halted';exit;end
  42. call open(fle,config,'R')
  43. do until eof(fle)
  44. c.kk=readln(fle)
  45. d.kk=readln(fle)
  46. kk=kk+1
  47. end
  48. max=kk-2
  49. call close(fle)
  50. call loadmasterfile
  51. getchannel
  52. channam=result
  53. getselecteduser
  54. Suser=result
  55. signal setnick
  56. Startengines:
  57. 'echo p=. 4'
  58. 'echo p=.  4     OOO O O OOO  OOO OOO'
  59. 'echo p=.  4     O   OOO O  O O   O  O'
  60. 'echo p=.  4     O    O  OOO  OO  OOO'
  61. 'echo p=.  4     O    O  O  O O   O O'
  62. 'echo p=.  4     OOO  O  OOO  OOO O  O'
  63. 'echo p=.  4' 
  64. 'echo p=.  6     OOO O O O OOO O    O'
  65. 'echo p=.  6     O   O O O O   O   O O'
  66. 'echo p=.  6     OOO OOO O OO  O   OOO'
  67. 'echo p=.  6       O O O O O   O   O O'
  68. 'echo p=.  6     OOO O O O OOO OOO O O'
  69. 'echo p=.  4'
  70. 'echo p=.   12      Version 1.0 Online'
  71. 'echo p=. 4 ©1999 Zonkerz #StarCafe Undernet'
  72. 'echo p=. 7 http://www.starcafe.org'
  73. 'echo p=. 4'
  74.  
  75. 'say /me Waves Hi to Everyone!! :)'
  76.  
  77. HuHuhLoopit:
  78. 'isconnected'
  79. conn=result
  80. if conn=0 then do;'echo not connected';exit;end
  81. 'userhost 'mynick
  82. myhost=result
  83. xxk=pos('@',myhost)
  84. myfront=substr(myhost,1,xxk-1)
  85. call checkmystatus
  86. drop comm
  87. drop dest
  88. drop text
  89. drop prefix
  90. drop nick
  91. drop rest
  92. getchannel
  93. channam=Upper(result)
  94. 'getline'
  95. text=line 
  96. prefix=line.prefix 
  97. comm=line.command 
  98. dest=line.dest  
  99. rest=line.rest
  100. /*
  101. 'echo rest: 'rest
  102. 'echo comm: 'comm
  103. 'echo dest: 'dest
  104. 'echo text: 'text
  105. 'echo pref: 'prefix
  106. */
  107. xv=pos('!',prefix,1)
  108. if xv>0 then do;nick=left(prefix,xv-1);end
  109. 'userhost 'nick
  110. msgr=result 
  111. call checkmaster
  112. if upper(left(comm,4))="PRIV" then signal PRIVMSG
  113. if upper(left(comm,4))="MODE" then signal MODECHANGE
  114. if upper(left(comm,4))="JOIN" then signal JOIN
  115. if upper(left(comm,4))="PART" then signal PART
  116. if upper(left(comm,4))="KICK" then signal NOKICKME
  117. vkr=random(1,100,time('s'))
  118. if vkr<18 then signal something
  119. signal huhuhloopit
  120.  
  121. something:
  122. if tr=0 then signal huhuhloopit
  123. 'say /rx cs/csc_something.amirx'
  124. signal huhuhloopit
  125.  
  126.  
  127. MODECHANGE:
  128. /* Start KaosGuardian */
  129. xv=pos('!',prefix,1)
  130. if xv>0 then do;nick=left(prefix,xv-1);end
  131.  
  132. xp=pos('+b',rest)
  133. if xp<1 then signal MODE2
  134.  
  135. xp=pos(upper(myfront),upper(rest))
  136. if xp>1 then signal PROT1A
  137. signal MODE2
  138.  
  139.  
  140.  
  141. PROT1A:
  142. getchannel
  143. 'echo 'chan
  144. 'say /notice 'nick' Not Wise to Ban Me ! --  KaOS GuArDiAn Mode Activated!'
  145. 'say /mode -b 'mynick
  146. 'say /deop 'dest' 'nick
  147. 'say /kick 'dest' 'nick'  KaoSGuardian Mode - Mess with the Best, die like the rest!'
  148.  
  149.  
  150. /* End KaosGuardian */
  151.  
  152.  
  153.  
  154. MODE2:
  155. call kickrevenge2
  156. xv=pos('!',prefix,1)
  157. if xv>0 then do;vnick=left(prefix,xv-1);end
  158. xp=pos('+v',rest)
  159. if xp>0 then signal prot1
  160. xp=pos('+o',rest)
  161. if xp>0 then signal prot2
  162. xp=pos('-o',rest)
  163. if xp>0 then signal prot3
  164. xp=pos('-v',rest)
  165. if xp>0 then signal prot4
  166. signal huhuhloopit
  167.  
  168.  
  169. PROT1:
  170. xp=pos(upper(mynick),upper(rest))
  171. if xp<1 then signal huhuhloopit
  172. 'say Thanx for the Voice 'vnick'!'
  173. signal huhuhloopit
  174.  
  175. PROT2:
  176. xp=pos(upper(mynick),upper(rest))
  177. if xp<1 then signal huhuhloopit
  178. 'say Thanks for the Ops 'vnick' Your my Bestest Friend Ever!! :*smooches*:'
  179. signal huhuhloopit
  180.  
  181. PROT3:
  182. xp=pos(upper(mynick),upper(rest))
  183. if xp<1 then signal huhuhloopit
  184. 'say Why did you take away my ops 'vnick'?'
  185. 'say /msg 'vnick' OP ME NOW YOU FUCKING ASS HOLE!!'
  186. do i=1 to 300;end
  187. 'say /msg 'vnick' Damnit!! Your just another Terry Cooksey Wannabe!!'
  188. do i=1 to 300;end
  189. 'say /msg 'vnick' You are going on my Traitor List ASAP!!!(haha)'
  190. signal huhuhloopit
  191.  
  192. PROT4:
  193. xp=pos(upper(mynick),upper(rest))
  194. if xp<1 then signal huhuhloopit
  195. "say I'm sad now, that wasn't very nice "vnick"! I don't like you no more :((((("
  196. 'say /msg 'vnick' I WANT MY VOICE BACK!! NOW!'
  197. do i=1 to 300;end
  198. 'say /msg 'vnick' Please!!!!'
  199. do i=1 to 300;end
  200. "say /msg "vnick" I'll go down on you!"
  201. signal huhuhloopit
  202.  
  203. PRIVMSG: 
  204. getmynick
  205. mynick=upper(result)
  206. xv=pos('!',prefix,1)
  207. if xv>0 then do;nick=left(prefix,xv-1);end
  208. call setclip('NICK',nick) 
  209. do ppu=1 to 200;end
  210.  
  211. BIG=upper(rest)
  212. small=rest
  213. xr=pos('!BOTQUIT',BIG)
  214. if xr>0 then signal barquit
  215.  
  216. xr=pos('!AUTOVOICE ON',BIG)
  217. if xr>0 & muh=1 then do;'say 7AutoVoice On';avoice=1;signal huhuhloopit;end
  218.  
  219.  
  220.  
  221. xr=pos('!AUTOGREET ON',BIG)
  222. if xr>0 & muh=1 then do;'say 7AutoGreet On';ag=1;signal huhuhloopit;end
  223.  
  224. xr=pos('!AUTOGREET OFF',BIG)
  225. if xr>0 & muh=1 then do;'say 7AutoGreet Off';ag=0;signal huhuhloopit;end
  226.  
  227. xr=pos('!CLEARSCRAMBLE',BIG)
  228. if xr>0 & muh=1 then do;'say 7Scramble Cleared';call setclip('SCRAMBLE','0');signal huhuhloopit;end
  229.  
  230. xr=pos('!AUTOVOICE OFF',BIG)
  231. if xr>0 & muh=1 then do;'say 7AutoVoice Off';avoice=0;signal huhuhloopit;end
  232.  
  233. xr=pos('!TIME',BIG)
  234. if xr>0 then signal TIMEDISP
  235.  
  236. xr=pos('WHAT IS ',BIG)
  237. if xr>0 then signal WHATIS
  238.  
  239. xr=pos('!8BALL',BIG)
  240. if xr>0 then signal 8BALL
  241.  
  242. xr=pos('!GOTO CHANNEL ',BIG)
  243. if xr>0 then signal CHANSWITCH
  244.  
  245. xr=pos('!FSTAT',BIG)
  246. if xr>0 then signal FSTAT
  247.  
  248. xr=pos('!SCRAMBLE',BIG)
  249. if xr>0 then signal SCRAMBLE
  250.  
  251. xr=pos('!HANGMAN',BIG)
  252. if xr>0 then signal HANGMAN
  253.  
  254. xr=pos('!FLIST',BIG)
  255. if xr>0 then signal FLIST
  256.  
  257. xr=pos('!WHOIS ',BIG)
  258. if xr>0 then signal WHOIS
  259.  
  260. xr=pos('!HUG ',BIG)
  261. if xr>0 then signal HUG
  262.  
  263. xr=pos('!KISS ',BIG)
  264. if xr>0 then signal KISS
  265.  
  266. xr=pos('!CC ',BIG)
  267. if xr>0 then signal CSCC
  268.  
  269. xr=pos('!COMMAND',BIG)
  270. if xr>0 then signal COMMANDS
  271.  
  272. xr=pos('!OPME',BIG)
  273. if xr>0 then signal OPME
  274.  
  275. xr=pos('!ADDMASTER ',BIG)
  276. if xr>0 then signal ADDMASTER
  277.  
  278. xr=pos('!REMMASTER ',BIG)
  279. if xr>0 then signal REMOVEMASTER
  280.  
  281. xr=pos('!LAPDANCE',BIG)
  282. if xr>0 then do;"say /me drops her panties, jumps into "nick"'s lap, turns and straddles him, grinds her crotch against his and and says, Wanna dance?";signal huhuhloopit;end
  283.  
  284. xr=pos('!BLOWME',BIG)
  285. if xr>0 then do;"say /me goes over to "nick" unzips his pants, pulls out his tool and laughs hysterically at the size of it.";signal huhuhloopit;end
  286.  
  287.  
  288. xr=pos('!LOADMASTER',BIG)
  289. if xr>0 then signal reloadmaster
  290.  
  291. xr=pos('!GIVEROSE ',BIG)
  292. if xr>0 then signal GIVEROSE
  293.  
  294. xr=pos('!ASKDANCE ',BIG)
  295. if xr>0 then signal ASKDANCE
  296.  
  297. xr=pos('!GIVEBEER ',BIG)
  298. if xr>0 then signal GIVEBEER
  299.  
  300. xr=pos('!SAY ',BIG)
  301. if xr>0 then signal TALK
  302.  
  303. xr=pos('!FGET ',BIG)
  304. if xr>0 then signal FGET
  305.  
  306.  
  307. xr=pos('!QUOTE',BIG)
  308. if xr>0 then signal JOKE
  309.  
  310. whoping=upper(nick)
  311. xr=pos('!PING ME!',BIG)
  312. if xr>0 then signal PINGME
  313.  
  314. xr=pos('!PING ',BIG)
  315. whoping=word(big,2)
  316. if xr>0 then signal PINGNICK
  317.  
  318.  
  319. xr=pos('!SCAN ',BIG)
  320. whoping=word(big,2)
  321. if xr>0 then signal SCANNICK
  322.  
  323. xr=pos('!TEMP ',BIG)
  324. if xr>0 then signal TEMPERATURE
  325.  
  326.  
  327. xr=pos('!CHANSTAT',BIG)
  328. if xr>0 then signal CHECKCHANNELSTATUS
  329.  
  330.  
  331. xr=pos('!SEEN ',BIG)
  332. if xr>0 then signal SEENLOAD
  333.  
  334.  
  335. xr=pos('!SETUSER ',BIG)
  336. if xr>0 then signal SETUSER
  337.  
  338. xr=pos('!ADVERTISE ',BIG)
  339. if xr>0 then signal ADVERTISE
  340.  
  341. xr=pos('!AUTOTOPIC',BIG)
  342. if xr>0 then signal AUTOTOPIC
  343.  
  344. xr=pos('!DIAGNOSTIC',BIG)
  345. if xr>0 then signal DIAGNOSTIC
  346.  
  347. xr=pos('!JUKEBOX ',BIG)
  348. if xr>0 then signal JUKEBOX
  349.  
  350. xr=pos('!RELOAD',BIG)
  351. if xr>0 then signal RELOAD
  352.  
  353. xr=pos('!RESTART',BIG)
  354. if xr>0 then signal RESTART
  355.  
  356. xr=pos('!LISTMASTERS',BIG)
  357. if xr>0 then signal listmasters
  358.  
  359. xr=pos('!ABBR ',BIG)
  360. if xr>0 then signal ABBR
  361.  
  362. xr=pos('!SHOT ',big)
  363. if xr>0 then signal SHOT
  364.  
  365. xr=pos('!FOOD ',big)
  366. if xr>0 then signal FOOD
  367.  
  368. xr=pos('!VERSION',BIG)
  369. if xr>0 then signal VERSION
  370. xr=pos('VERSION',BIG)
  371. if xr>0 then signal CTCPVERS
  372.  
  373. xr=pos('USERINFO',BIG)
  374. if xr>0 then signal CTCPUINFO
  375.  
  376. xr=pos('DCC C',BIG)
  377. if xr>0 then signal CTCPChAT
  378.  
  379. xr=pos('!GAMES',BIG)
  380. if xr>0 then signal GAMES
  381.  
  382.  
  383. xr=pos('!AI ON',BIG)
  384. if xr>0 & muh=1 then do;tr=1;'say 7Interactive Mode Engaged';signal huhuhloopit;end
  385.  
  386. xr=pos('!AI OFF',BIG)
  387. if xr>0 & muh=1 then do;tr=0;'say 7Interactive Mode Dis-Engaged';signal huhuhloopit;end
  388.  
  389. if tr=1 then signal terror
  390. signal huhuhloopit
  391.  
  392. AUTOTOPIC:
  393. if muh=0 then signal huhuhloopit
  394. if mystatus~=1 then do;"say sorry "nick" I don't have op status";signal huhuhloopit;end
  395. rtop=random(1,10,time('s'))
  396. if rtop=1 then top="Welcome to "channam"!!"
  397. if rtop=2 then top="Sometimes you feel like a nut, sometimes you are one."
  398. if rtop=3 then top="Shiela is Back, Better than ever!"
  399. if rtop=4 then top="Microsoft Sucks!"
  400. if rtop=5 then top="Where have all the good men gone?"
  401. if rtop=6 then top="Its Wet T-Shirt Night in "channam"!!"
  402. if rtop=7 then top="Rock til ya drop!"
  403. if rtop=8 then top="This space intentionally left blank"
  404. if rtop=9 then top="If anyone can think of a better topic then this, please do so!"
  405. if rtop=10 then top="Pokemon are cool!!"
  406. 'say /topic 'top
  407. signal huhuhloopit
  408.  
  409.  
  410. ADVERTISE:
  411. if muh=0 then signal huhuhloopit
  412. call open(fle,adfile,'R')
  413. 'getchannel'
  414. curchan=result
  415. 'say /part 'curchan
  416. kk=1
  417. do until eof(fle)
  418. ch.kk=readln(fle)
  419. kk=kk+1
  420. end
  421. maxch=kk-2
  422. call close(fle)
  423. msgg=delstr(small,1,11)
  424. goCHANNEL:
  425. do kk=1 to maxch
  426. 'say /join 'ch.kk
  427. call delay
  428. 'say 'msgg
  429. call delay
  430. 'say /part 'ch.kk
  431. end
  432. call delay
  433. 'say /join 'curchan
  434. call delay
  435. 'say 6Mission Accomplished Sir.'
  436. signal huhuhloopit
  437.  
  438.  
  439. DELAY: 
  440. p=time('s')
  441. n=p+5
  442. waitfortime:
  443. p=time('s')
  444. if p>n then return
  445. signal waitfortime
  446.  
  447.  
  448. SCRAMBLE:
  449. 'say /rx cs/csc_scramble.amirx'
  450. signal huhuhloopit
  451.  
  452. HANGMAN:
  453. 'say /rx cs/csc_hangman.amirx'
  454. signal huhuhloopit
  455.  
  456. JUKEBOX:
  457. temp2=small
  458. kkrv=length(small)
  459. temp=right(small,kkrv-9)
  460. 'say /me walks over to the jukebox, drops a coin in, and plays 'temp' - courtesy of 'nick
  461. signal huhuhloopit
  462.  
  463. SHOT:
  464. TEMP=subword(small,2)
  465. 'say /me pours a 'temp' for 'nick'.'
  466. signal huhuhloopit
  467.  
  468. GIVEROSE:
  469. TEMP=subword(small,2)
  470. 'say /me Walks over and Gives 'temp' a Rose 3--<-<-<{4@ and whispers, its from 'nick
  471. signal huhuhloopit
  472.  
  473. GIVEBEER:
  474. TEMP=subword(small,2)
  475. 'say /me winks at 'nick' Pours a Beer, Walks over and gives the Beer to 'temp' - psst: its from 'nick
  476. signal huhuhloopit
  477.  
  478. ASKDANCE:
  479. TEMP=subword(small,2)
  480. 'say /me goes on over to 'temp' and tells them that 'nick' is shy but would love to dance with them'
  481. signal huhuhloopit
  482.  
  483. HUG:
  484. TEMP=subword(small,2)
  485. 'say /me walks over to 'temp' and gives them a big hug!'
  486. signal huhuhloopit
  487.  
  488. KISS:
  489. TEMP=subword(small,2)
  490. 'say /me walks over to 'temp' and gives them a big sloppy Kiss... *SMOOOCH* :*'
  491. signal huhuhloopit
  492.  
  493.  
  494. FOOD:
  495. TEMP=subword(small,2)
  496. 'say /me Brings out a plate of 'temp' for 'nick'.'
  497. signal huhuhloopit
  498.  
  499. OPME:
  500. if muh=0 then signal huhuhloopit
  501. if mystatus~=1 then do;"say sorry "nick" I don't have op status";signal huhuhloopit;end
  502. if mystatus=1 then 'say /op 'nick
  503. if mystatus=1 then 'say There ya go Master 'nick'.'
  504. signal huhuhloopit
  505.  
  506. VOICEUSER:
  507. if mystatus~=1 then signal huhuhloopit
  508. if avoice=1 then 'say /voice 'nick
  509. return
  510.  
  511. GAMES:
  512. 'say 3I can host the Following Games: 4!Hangman  3and 4!Scramble'
  513. signal huhuhloopit
  514.  
  515.  
  516. JOKE:
  517. 'say /rx cs/cs_jokes.amirx'
  518. signal huhuhloopit
  519.  
  520. WHATIS:
  521. cnt=words(rest)
  522. cnt2=delword(rest,1,2)
  523. cnt=words(rest)
  524. wd1=word(cnt2,1)
  525. if upper(wd1)="A" then wd1=word(cnt2,2)
  526. call setclip('KEYWORD',wd1)
  527. 'say /rx cs/csc_whatis.amirx'
  528. signal huhuhloopit
  529.  
  530. PINGME:
  531. nick=whoping
  532. call setclip('NICK',nick) 
  533. 'say /rx cs/csc_ping.amirx'
  534. signal huhuhloopit
  535.  
  536.  
  537. PINGNICK:
  538. nick=whoping
  539. call setclip('NICK',nick) 
  540. 'say /rx cs/csc_ping.amirx'
  541. signal huhuhloopit
  542.  
  543.  
  544. SCANNICK:
  545. nick=whoping
  546. call setclip('SCAN',nick) 
  547. 'say /rx cs/csc_SCAN.amirx'
  548. signal huhuhloopit
  549.  
  550. VERSION:
  551. 'say 6CyberShiela 7-6 Bot From 4Hell 6Script V1.0 6- 3©1999 Zonkerz #AmIRC Undernet 
  552. 9 Get CyberShiela from 9http://www.starcafe.org'
  553. signal huhuhloopit
  554.  
  555.  
  556. CTCPVERS:
  557. 'say /notice 'nick' Script_Version 6CyberShiela 7-6 Bot From 4Hell 6Script V1.0 6- 3©1999 Zonkerz #AmIRC Undernet 
  558. 9 Get CyberShiela from 9http://www.starcafe.org'
  559. signal huhuhloopit
  560.  
  561. NOKICKME:
  562. BIG=upper(rest)
  563. x=pos(upper(mynick),big)
  564. if x>0 then signal kickrevenge
  565. signal huhuhloopit
  566.  
  567. KICKREVENGE:
  568. xv=pos('!',prefix,1)
  569. if xv>0 then do;nick=left(prefix,xv-1);end
  570. if nick=mynick then signal huhuhloopit
  571. rev=1
  572. revlist=revlist||" "||nick
  573. 'say /join 'channam
  574. do i=1 to 7500;end
  575. 'say I shall Get my Revenge 'nick'!'
  576. call kickrevenge2
  577. signal huhuhloopit
  578.  
  579. CTCPUINFO:
  580. 'say /notice 'nick' USERINFO 6CyberShiela is Powered By Amiga!'
  581. signal huhuhloopit
  582.  
  583. CTCPChAT:
  584. 'say /msg 'nick' DO NOT DCC CHAT ME!!!!! '
  585. signal huhuhloopit
  586.  
  587. TERROR:
  588. do vk=1 to max
  589. big=upper(rest)
  590. xr=pos(upper(c.vk),BIG)
  591. if xr>0 then do;outtext=d.vk;signal modif;end
  592. end
  593. signal huhuhloopit
  594.  
  595.  
  596. TEMPERATURE:
  597. temp=word(rest,2)
  598. dg=word(rest,3)
  599. 'say /rx cs/tempconvert 'temp' 'dg
  600. signal huhuhloopit
  601.  
  602. CSCC:
  603. cc=word(rest,2)
  604. 'say /rx cs/shielacc.amirx 'cc
  605. signal huhuhloopit
  606.  
  607. COMMANDS:
  608. 'say /dcc send 'nick' 'dir'/rexx/cs/commands.txt'
  609. signal huhuhloopit
  610.  
  611.  
  612. ABBR:
  613. temp=word(rest,2)
  614. 'say /rx cs/abbr 'temp
  615. signal huhuhloopit
  616.  
  617. CSCC:
  618. cc=word(rest,2)
  619. 'say /rx cs/shielacc.amirx 'cc
  620. signal huhuhloopit
  621.  
  622.  
  623. JOIN:
  624. signal checkonjoin
  625. JOIN=1
  626. signal huhuhloopit
  627.  
  628. PART:
  629. signal checkonpart
  630. JOIN=2
  631. signal huhuhloopit
  632.  
  633. call checkmaster
  634. if muh~=0 then do;if mynick~=nick then 'say My Master 'nick' has arrived!';end
  635. call voiceuser
  636. signal huhuhloopit
  637.  
  638. DIAGNOSTIC:
  639. 'say 4-Checking Systems Now-'
  640. getservername
  641. srvr=result
  642. isconnected
  643. isc=result
  644. getversion
  645. vrs=result
  646. if avoice=1 then av="on"
  647. if avoice=0 then av="off"
  648. if tr=1 then bt="on"
  649. if tr=0 then bt="off"
  650. 'say 3Systems are 8 100% 3Operational'
  651. 'say 3I am on Server: 7'srvr
  652. 'say 6Auto Voice is 'av
  653. 'say 7Interactive Mode is 'bt
  654. 'say 3My Version is: 7CyberShiela V1.0 Using 3 AmIRC 'vrs
  655. signal huhuhloopit
  656.  
  657. TALK:
  658. if muh=0 then signal huhuhloopit
  659. vtalk=strip(rest,'L',':!say ')
  660. 'say 'vtalk
  661. signal huhuhloopit
  662.  
  663.  
  664.  
  665. WHOIS:
  666. wnick=word(rest,2)
  667. userhost wnick
  668. whost=result
  669. options results
  670. call checkwho
  671. if upper(whost)=upper(mynick) then whost="**Unknown User**"
  672. if mth=1 then heis='a Master'
  673. if mth=0 then heis='a Regular'
  674. if whost=1 then do;'say 'wnick' is not a user in my database';signal huhuhloopit;end
  675. 'say 'wnick' is 'whost' and is 'heis' User in my database'
  676. signal huhuhloopit
  677.  
  678. checkwho:
  679. do i=1 to maxmast
  680. 'matchuserhost 'wnick'!'whost' 'mast.i
  681. mth=rc
  682. if mth=1 then return
  683. end
  684. return
  685.  
  686. TIMEDISP:
  687. xt=time('C')
  688. 'say The Time here is 'XT
  689. signal huhuhloopit
  690.  
  691. CHANSWITCH:
  692. if muh=0 then signal huhuhloopit
  693. oldchan=channam
  694. newchan=word(rest,3)
  695. if left(newchan,1)~="#" then do;'say Thats not a valid channel!!!';signal huhuhloopit;end
  696. 'say Bye Everyone!!'
  697. do i=1 to 12000;end
  698. 'say /part 'channam' heading to 'newchan
  699. 'say /join 'newchan
  700. do i=1 to 12000;end
  701. 'say Hello everyone!'
  702. getchannel
  703. channam=result
  704. getusers
  705. namu=result
  706. vvr=words(namu)
  707. if vvr<2 then signal GOBACK
  708. signal huhuhloopit
  709.  
  710. GOBACK:
  711. 'say /part 'channam
  712. 'say /join 'oldchan
  713. do i=1 to 12000;end
  714. getchannel
  715. channam=result
  716. 'say Hey that channel was boring. I am back now!! >:)'
  717. signal huhuhloopit
  718.  
  719.  
  720. modif:
  721. user=nick
  722. old=outtext
  723. m=length(user);temp=outtext;x=pos("$1",temp);if x~=0 then do;temp2 = delstr(temp,x,2);old = insert(user,temp2,x-1,m," ");end
  724. temp=old;m=length(channam);x=pos("$chan",temp);if x~=0 then do;temp2 = delstr(temp,x,5);old = insert(channam,temp2,x-1,m," ");end
  725. 'say 'old
  726.  
  727. signal huhuhloopit
  728.  
  729. barquit:
  730. if muh=0 then signal huhuhloopit
  731. 'say 6Bye Everyone, I gotta go now!! Cyas!!'
  732. exit
  733.  
  734. CHECKMYSTATUS:
  735. getmynick
  736. mynick=result
  737. getusers
  738. allusers=result
  739. numusers=words(allusers)
  740. do i=1 to numusers;u.i=word(allusers,i);uu.i=strip(u.i,'B','+');u.i=uu.i;uu.i=strip(u.i,'B','@');u.i=uu.i;u.i=uu.i;uu.i=strip(u.i,'B','%');u.i=uu.i;end
  741. users=""
  742. do i=1 to numusers;users=users||u.i||" ";end
  743. allusers=users
  744. me=find(allusers,mynick)
  745. "getuserstate "me-1
  746. mystatus=rc
  747. /*call kickrevenge */
  748. return
  749.  
  750. KICKREVENGE2:
  751. /* this is kinda just for fun... doens't always work right */
  752. if revlist="" then return
  753. if rev=0 then return
  754. call checkmystatus
  755. if mystatus=1 then 'say Revenge is Now Mine!!'
  756. if mystatus=1 then call KICKINGTIME
  757. return
  758.  
  759. KICKINGTIME:
  760. mm=words(revlist)
  761. do i=1 to mm
  762. 'say /kick 'word(revlist,mm)' Was it fun Kicking Innocent Little 'mynick' before?'
  763. end
  764. rev=0
  765. revlist=""
  766. return
  767.  
  768. CHECKCHANNELSTATUS:
  769. getusers
  770. allusers=result
  771. numusers=words(allusers)
  772. op=0;voice=0;reg=0
  773. do i=0 to numusers
  774. "getuserstate "i
  775. z=rc
  776. if z=1 then op=op+1
  777. if z=2 then voice=voice+1
  778. if z=0 then reg=reg+1
  779. end
  780. 'say 4Total Users:8 'numusers' 4OPS:8 'op'   4VOICED:8 'voice'   4Non-OP/Voiced:8 'reg
  781. getuserlimit
  782. z=result
  783. 'say 4UserLimit:8 'z
  784.  
  785. getmodes
  786. z=result
  787. 'say 4Channel Modes are:8 'z
  788. getkeyword
  789. z=result
  790. 'say 4KeyWord is:8 'z
  791. gettopic
  792. z=result
  793. 'Say 4The Topic is:8 'z
  794. signal huhuhloopit
  795.  
  796. RESTART:
  797. if muh=0 then signal huhuhloopit
  798. 'say 5Restarting CyberShiela AI Script'
  799. 'say /rx cybershiela'
  800. exit
  801.  
  802.  
  803. RELOAD:
  804. if muh=0 then signal huhuhloopit
  805. 'say 3Re-Loading Artificial Insanity File'
  806. 'say 4ShielaBot Automated CyberShiela system now online and fully operational'
  807. kk=1
  808. if ~exists(config) then do;'echo c=3 p=CShiela Config File not Found - Program Halted';exit;end
  809. call open(fle,config,'R')
  810. do until eof(fle)
  811. c.kk=readln(fle)
  812. d.kk=readln(fle)
  813. kk=kk+1
  814. end
  815. max=kk-2
  816. call close(fle)
  817. signal huhuhloopit
  818.  
  819. syntax:   
  820. 'echo Command on line' SIGL 'returned' RC ':' errortext(rc) sourceline(SIGL))
  821. exit
  822.  
  823. USERLIST:
  824. getusers
  825. allusers=result
  826. numusers=words(allusers)
  827. do i=1 to numusers;u.i=word(allusers,i);uu.i=strip(u.i,'B','+');u.i=uu.i;uu.i=strip(u.i,'B','@');u.i=uu.i;end
  828. ppp=random(1,numusers,time('s'))
  829. return
  830.  
  831.  
  832.  
  833. checkmaster:
  834. muh=0
  835. options results
  836. do i=1 to maxmast
  837. 'matchuserhost 'nick'!'msgr' 'mast.i
  838. muh=rc
  839. if muh=1 then return
  840. end
  841. return
  842.  
  843. loadmasterfile:
  844. 'echo p=CShiela --loading Masters File--'
  845. kk=1
  846. if ~exists(masters) then do;'echo c=3 p=CShiela 15,4 * FIRST TIME INSTALLATION OF SHIELA BEGINNING * ';call makemasters;end
  847. call open(fle,masters,'R')
  848. do until eof(fle)
  849. mast.kk=readln(fle)
  850. kk=kk+1
  851. end
  852. maxmast=kk-2
  853. call close(fle)
  854. return
  855.  
  856. MAKEMASTERS:
  857. getmynick
  858. mynick=result
  859. 'userhost 'mynick
  860. msgr=result 
  861.  
  862. um.pk=msgr
  863.  
  864. temp=msgr
  865. x=pos('@',temp)
  866. v2=pos('.',temp)
  867. y=left(temp,x)
  868. t=length(temp)
  869. v=t-v2
  870. z=right(temp,v)
  871. tm='*!*'y'*.'z
  872. um.pk=tm 
  873. mmmm=right(temp,1)
  874. if mmmm<10 then do
  875.     z=pos('@',temp)
  876.     temp2=reverse(temp)
  877.     x=pos('.',temp2)
  878.     p=length(temp2)-x
  879.     m='*.'right(temp2,p)
  880.     ww=reverse(m)
  881.     tm='*!*'ww
  882.     um.pk=tm
  883. end
  884. mstr=um.pk
  885. 'echo p=CShiela 8Adding Master User:7 'mynick' - 'mstr
  886. call open(fle,masters,'w')
  887. writeln(fle,mstr)
  888. call close(fle)
  889. 'echo p=CS_Alias 8,4 Adding Some Aliases to your System. '
  890.  
  891. 'say /alias smile  1,8:)'
  892. 'say /alias angel  7O1,8:)'
  893.  
  894. 'say /alias mad   1,4>:('
  895.  
  896. 'say /alias kiss  1,8:P121,8d:'
  897. 'say /alias sad  1,8:('
  898.  
  899. 'say /alias lol  7L4o7L'
  900. 'say /alias Shiela /rx cybershiela'
  901. 'echo p=CShiela 6 You can now type 4/shiela4 to start shiela from now on.'
  902.  
  903.  
  904. 'echo p=Cshiela 15,4 * INSTALLATION IS COMPLETE * '
  905. return
  906.  
  907.  
  908. LISTMASTERS:
  909. if muh=0 then signal huhuhloopit
  910. do i=1 to maxmast
  911. 'say /msg 'nick 'master 'i' is 'mast.i
  912. end
  913. signal huhuhloopit
  914.  
  915.  
  916. ADDMASTER:
  917. if muh=0 then signal huhuhloopit
  918. kk=1
  919. if ~exists(masters) then do;'echo c=3 p=CShiela Master File not Found - Program Halted';exit;end
  920. call open(fle,masters,'A')
  921. writeln(fle,word(big,2))
  922. call close(fle)
  923. 'say /msg 'nick' user 'word(big,2)' added as a Master'
  924. signal reloadmaster
  925.  
  926. REMOVEMASTER:
  927. if muh=0 then signal huhuhloopit
  928. remms=word(big,2)
  929. do i=1 to maxmast
  930. if upper(mast.i)=remms then do;krz=i;signal deletemast;end
  931. end
  932. 'say /msg 'nick' Master not found cannot remove'
  933. signal huhuhloopit
  934.  
  935. Deletemast:
  936. do i=1 to maxmast
  937. if i~=krz then v.i=mast.i
  938. end
  939. kk=1
  940. if ~exists(masters) then do;'echo c=3 p=CShiela Master File not Found - Program Halted';exit;end
  941. call open(fle,masters,'W')
  942. do i=1 to maxmast
  943. if i~=krz then writeln(fle,v.i)
  944. end
  945. call close(fle)
  946. maxmast=maxmast-1
  947. 'say /msg 'nick' Specified Master file Deleted'
  948. signal reloadmaster
  949.  
  950. REloadmaster:
  951. if muh=0 then signal huhuhloopit
  952. kk=1
  953. if ~exists(masters) then do;'echo c=3 p=CShiela Master File not Found - Program Halted';exit;end
  954. call open(fle,masters,'R')
  955. do until eof(fle)
  956. mast.kk=readln(fle)
  957. kk=kk+1
  958. end
  959. maxmast=kk-2
  960. call close(fle)
  961. signal huhuhloopit
  962.  
  963. setnick:
  964. nick.1='Shiela'
  965. nick.2='^Shiela'
  966. nick.3='^Shiela^'
  967. nick.4='Shiela^'
  968. nick.5='^^shiela'
  969. nick.6='_Shiela'
  970. checkagain:
  971. getmynick
  972. mynick=upper(result)
  973. if mynick=upper(nick.1) then signal startengines
  974. if mynick=upper(nick.2) then signal startengines
  975. if mynick=upper(nick.3) then signal startengines
  976. if mynick=upper(nick.4) then signal startengines
  977. if mynick=upper(nick.5) then signal startengines
  978. if mynick=upper(nick.6) then signal startengines
  979. z=random(1,6,time('s'))
  980. chnick=nick.z
  981. 'say /nick 'chnick
  982. do i=1 to 80000;end
  983. signal checkagain
  984.  
  985. 8BALL:
  986. 'say /rx cs/csc_8ball.amirx'
  987. signal huhuhloopit
  988.  
  989.  
  990.  
  991.  
  992. FSERV:
  993. kk=1
  994. if ~exists(fscfg) then do;'echo c=3 p=CShiela FileServe CFG Not Found - Program Halted';exit;end
  995. call open(fle,fscfg,'R')
  996. fs.1=readln(fle)
  997. fs.2=readln(fle)
  998. call close(fle)
  999. fslots=fs.1
  1000. fpath=fs.2
  1001. address command('list quick 'fpath' >RAM:fserve.txt')
  1002. kk=1
  1003. call open(fle,'ram:fserve.txt','R')
  1004. do until eof(fle)
  1005. item.kk=readln(fle)
  1006. kk=kk+1
  1007. end
  1008. maxitem=kk-3
  1009. call close(fle)
  1010. return
  1011.  
  1012.  
  1013. FGET:
  1014. call fserv
  1015. "GETDCC"
  1016. /* 
  1017. SLot max Disabled
  1018. if dcc.send.0>=fslots THEN DO;'say 4SORRY 2'nick' 4All Slots are in Use';signal huhuhloopit;end
  1019. */
  1020.  
  1021. filenum=word(big,2)
  1022. if filenum>maxitem then do;'say /msg 'nick' 4Sorry 'filenum' is not a valid offer.';signal huhuhloopit;end
  1023. if filenum<1 then do;'say /msg 'nick' 4Sorry 'filenum' is not a valid offer.';signal huhuhloopit;end
  1024. fsend=fpath||'/'||item.filenum
  1025. if left(item.filenum,4)="ITEM" then do;'say /msg 'nick' 4Sorry 'filenum' is not a valid offer.';signal huhuhloopit;end
  1026. 'say /msg 'nick' 4sending file 2«««12'item.filenum'2»»»'
  1027. 'say /dcc send 'nick' 'fsend
  1028. "GETDCC"
  1029. 'say /msg 'nick' 4I have 'dcc.send.0 'slots in use of 'fslots
  1030. signal huhuhloopit
  1031.  
  1032.  
  1033. FLIST:
  1034. call fserv
  1035. 'say /msg 'nick' 3items for download are: '
  1036. do i=1 to maxitem
  1037. 'say /msg 'nick' 4 «'i'4» 2'item.i
  1038. end
  1039. 'say /msg 'nick' 3Type !Fget # to recieve a file'
  1040. signal huhuhloopit
  1041.  
  1042.  
  1043. FSTAT:
  1044. call fserv
  1045. "GETDCC"
  1046. 'say /msg 'nick' 4I have 'dcc.send.0' slots in use out of 'fslots' --This Function is not 100% Implimented yet'
  1047. signal huhuhloopit
  1048.  
  1049. SETUSER:
  1050. if muh=0 then signal huhuhloopit
  1051. msg1=""
  1052. snick=word(BIG,2)
  1053. smod=word(BIG,3)
  1054. if SMOD="" then do;'say 3Usage:!setuser NICK MODE      Mode can be OVP';signal huhuhloopit;end
  1055. 'say 4Modifying Flags For 5'snick
  1056. kk=1
  1057. call open(fle,seencfg,'R')
  1058. do until eof(fle)
  1059. seen.kk=readln(fle)
  1060. un.kk=word(seen.kk,1)
  1061. um.kk=word(seen.kk,2)
  1062. uf.kk=word(seen.kk,3)
  1063. ul.kk=word(seen.kk,4)
  1064. if upper(un.kk)=snick then do;uf.kk=word(BIG,3);'say 5 'snick' modified with option:7 'uf.kk;end
  1065. kk=kk+1
  1066. end
  1067. maxusers=kk-2
  1068. call close(fle)
  1069. 'say 4*No More Matches*'
  1070. call WRITESEEN
  1071. signal huhuhloopit
  1072.  
  1073.  
  1074. SEENLOAD:
  1075. msg1=""
  1076. snick=word(BIG,2)
  1077. 'say 4Checking for Info on 5'snick
  1078. kk=1
  1079. call open(fle,seencfg,'R')
  1080. do until eof(fle)
  1081. seen.kk=readln(fle)
  1082. un.kk=word(seen.kk,1)
  1083. um.kk=word(seen.kk,2)
  1084. uf.kk=word(seen.kk,3)
  1085. ul.kk=word(seen.kk,4)
  1086. if upper(un.kk)=snick then do;call checkitop;'say 4SEEN *Match* Found:6 'un.kk' 'um.kk' Last Seen 'ul.kk' 'msg1;end
  1087. kk=kk+1
  1088. end
  1089. maxusers=kk-2
  1090. call close(fle)
  1091. 'say 4*No More Matches*'
  1092. signal huhuhloopit
  1093.  
  1094. checkitop:
  1095. z=pos('O',upper(uf.kk))
  1096. y=pos('V',upper(uf.kk))
  1097. m=pos('B',Upper(uf.kk))
  1098. if z~=0 then msg1='4Has Operator Status'
  1099. if y~=0 then msg1='4Has Voice Status'
  1100.  
  1101. if z~=0 then msg1='4Has Operator Status'
  1102. if m~=0 then msg1='4Is on my BANLIST'
  1103. return
  1104.  
  1105.  
  1106. checkknown:
  1107. if join=1 then signal checkonjoin
  1108. if join=2 then signal checkonpart
  1109. /* notes OVMBP  Op Voice Master Ban Protect um=usermask  un=username  uf=userflags  ul=userlastdate 
  1110. not all features implimented yet.  Only OP and VOICE and Ban  B for Ban     O for OP    V for Voice
  1111. */
  1112.  
  1113. READSEEN:
  1114. kk=1
  1115. call open(fle,seencfg,'R')
  1116. do until eof(fle)
  1117. seen.kk=readln(fle)
  1118. un.kk=word(seen.kk,1)
  1119. um.kk=word(seen.kk,2)
  1120. uf.kk=word(seen.kk,3)
  1121. ul.kk=word(seen.kk,4)
  1122. kk=kk+1
  1123. end
  1124. maxusers=kk-2
  1125. call close(fle)
  1126. return
  1127.  
  1128. ADDSEEN:
  1129. xt=time('C')
  1130. dt2=date('N')
  1131. dt=compress(dt2,' ')
  1132. maxusers=maxusers+1
  1133. pk=maxusers
  1134. un.pk=nick
  1135. um.pk=msgr
  1136. uf.pk='v'
  1137. ul.pk=dt"_"xt
  1138. temp=msgr
  1139. x=pos('@',temp)
  1140. v2=pos('.',temp)
  1141. y=left(temp,x)
  1142. t=length(temp)
  1143. v=t-v2
  1144. z=right(temp,v)
  1145. tm='*!*'y'*.'z
  1146. um.pk=tm 
  1147. mmmm=right(temp,1)
  1148. if mmmm<10 then do
  1149.     z=pos('@',temp)
  1150.     temp2=reverse(temp)
  1151.     x=pos('.',temp2)
  1152.     p=length(temp2)-x
  1153.     m='*.'right(temp2,p)
  1154.     ww=reverse(m)
  1155.     tm='*!*'ww
  1156.     um.pk=tm
  1157. end
  1158. seen.pk=un.pk" "um.pk" "uf.pk" "ul.pk
  1159. call writeseen
  1160. return
  1161.  
  1162. CHECKONJOIN:
  1163. if nick=mynick then signal huhuhloopit
  1164. call readseen
  1165. found=0
  1166. xt=time('C')
  1167. dt2=date('N')
  1168. dt=compress(dt2,' ')
  1169. do zzz=1 to maxusers
  1170. option results
  1171. 'matchuserhost 'nick'!'msgr' 'um.zzz
  1172. mt=rc
  1173. if mt=1 & ag=1  then do;'say hi 'nick' I know you!  I last saw you on 'ul.zzz;end
  1174. if mt=1 then do;call updateseen;found=1;end
  1175. end
  1176. if found=1 then signal huhuhloopit
  1177. if mt=0 & ag=1 then do;"say Hi "nick" I don't know you, My Name is "mynick" And I am a friendly bot for a list of commands type !commands in the channel.  Updating my records with your information now.";end
  1178. if mt=0 then call addseen
  1179. signal huhuhloopit
  1180.  
  1181.  
  1182. CHECKONPART:
  1183. if nick=mynick then signal huhuhloopit
  1184. call readseen
  1185. found=0
  1186. xt=time('C')
  1187. dt2=date('N')
  1188. dt=compress(dt2,' ')
  1189. do zzz=1 to maxusers
  1190. option results
  1191. 'matchuserhost 'nick'!'msgr' 'um.zzz
  1192. mt=rc
  1193. if mt=1 then do;call updateseen;found=1;end
  1194. end
  1195. if found=1 then signal huhuhloopit
  1196. if mt=0 then call addseen
  1197. signal huhuhloopit
  1198.  
  1199. UPDATESEEN:
  1200. xt=time('C')
  1201. ul.zzz=dt"_"xt
  1202. un.zzz=nick
  1203. temp9=upper(uf.zzz)
  1204. uf.zzz=temp9
  1205. call writeseen
  1206. x=pos('O',uf.zzz)
  1207. if x~=0 & mystatus=1 then do;'say /op 'nick;end
  1208. x=pos('V',uf.zzz)
  1209. if x~=0 & mystatus=1 then do;'say /voice 'nick;end
  1210. x=pos('B',uf.zzz)
  1211. if x~=0 & mystatus=1 then do;'say 'nick' You Are on my Banlist!! Out you go!';'say /ban 'nick' 'um.zzz;'say /kick 'nick' Your on my Banlist BYE BYE!!';end
  1212. return
  1213.  
  1214. WRITESEEN:
  1215. call open(fle,seencfg,'W')
  1216. do i=1 to maxusers
  1217. seen.i=un.i" "um.i" "uf.i" "ul.i
  1218. writeln(fle,seen.i)
  1219. end
  1220. call close(fle)
  1221. return
  1222. signal huhuhloopit
  1223.